import axios from '../utils/axios'

// 角色管理API
export const roleApi = {
  // 获取角色列表
  getRoleList(params = {}) {
    return axios.get('/roles/list', { params })
  },

  // 根据ID获取角色信息
  getRoleById(id) {
    return axios.get(`/roles/${id}`)
  },

  // 创建角色
  createRole(roleData) {
    return axios.post('/roles', roleData)
  },

  // 更新角色
  updateRole(id, roleData) {
    return axios.put(`/roles/${id}`, roleData)
  },

  // 删除角色
  deleteRole(id) {
    return axios.delete(`/roles/${id}`)
  },

  // 更新角色状态
  updateRoleStatus(id, status) {
    return axios.put(`/roles/${id}/status`, { status })
  },

  // 获取角色的权限列表
  getRolePermissions(roleId) {
    return axios.get(`/roles/${roleId}/permissions`)
  },

  // 分配权限给角色
  assignPermissionsToRole(roleId, permissionIds) {
    return axios.post(`/roles/${roleId}/permissions`, { permissionIds })
  },

  // 获取角色的菜单列表
  getRoleMenus(roleId) {
    return axios.get(`/roles/${roleId}/menus`)
  },

  // 分配菜单给角色
  assignMenusToRole(roleId, menuIds) {
    return axios.post(`/roles/${roleId}/menus`, { menuIds })
  }
}
